Skip to main content

Account Aggregator - FI Request API

This document highlights the Account Aggregator - FI Request API details.

API Description

Objective

The Account Aggregator - FI Request API decrypts the response from the Account Aggregator, verifies the consent status, and triggers a data request for user's Financial Information.

API URL

https://ind-engine.thomas.hyperverge.co/v1/AAFIRequest

API Endpoint

AAFIRequest

Overview

The API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should upload all images and files as form-data through a POST request.

Method - POST

Authentication

You need a unique pair of application ID ( appId ) and application key (appKey) from HyperVerge to verify your identity for accessing the API.

ParameterMandatory or OptionalDescriptionAllowed Values
content-type MandatoryThis parameter defines the media type for the request payloadapplication/json
appId MandatoryThe application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
appKey MandatoryThe application key shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
transactionIdMandatoryA unique identifier for tracking a user journeyThis should be both unique and easily associated with the user's journey in your application(s)

Inputs

The following table outlines the parameter required in the API's request body:

ParameterMandatory or OptionalDescriptionAllowed ValuesDefault Value
consentHandleMandatoryA unique value for tracking and retrieving user data in the verification journeyNot ApplicableNot Applicable
custIdMandatoryThe 10 digit contact number of the UserNot ApplicableNot Applicable
encryptedFiuIdMandatoryThe encrypted identifier for the Financial Information User (FIU)Base64-encoded stringNot Applicable
encryptedRequestMandatoryThe Base64-encoded and encrypted request parametersBase64-encoded stringNot Applicable
numberOfMonthsMandatoryThe duration for which data is requestedNumeric value representing monthsNot Applicable
requestDateMandatoryThe request timestamp in UTC, formatted as ddmmyyyyhhmmsssNumeric value in ddmmyyyyhhmmsss formatNot Applicable

Request

The following code snippet demonstrates a standard curl request for the API:

curl --location --request POST 'https://ind-engine.thomas.hyperverge.co/v1/AAFIRequest' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"consentHandle": "<Consent_Handle_From_First_API_Call>",
"custId": "<User_Mobile_Number>",
"encryptedFiuId": "<Encrypted_FiuId_From_First_API_Call>",
"encryptedRequest": "<Encrypted_Request_From_First_API_Call>",
"numberOfMonths": "<Number_Of_Months_As_String>",
"requestDate": "<Request_Date_From_First_API_Call>"
}'

Success Response

The following code snippet demonstrates a success response from the API:

{
"status": "success",
"statusCode": "200",
"metaData": {
"requestId": "<Unique_Request_ID>"
},
"result": {
"consentStatus": "<Consent_Status>",
"AAWebviewDecrypt": {
"statusCode": "200",
"response": {
"header": {
"rid": "<Unique_Request_ID>",
"ts": "<Timestamp_in_ISO_Format>",
"channelId": "<Channel_ID>"
},
"body": {
"txnId": "<Transaction_ID>",
"sessionId": "<Session_ID>",
"srcRef": "<Source_Reference_ID>",
"userId": "<User_ID>",
"redirectUrl": "<Redirect_URL>",
"fiuId": "<FIU_ID>",
"status": "<Status>",
"errorCode": "<Error_Code>",
"email": "<Email>",
"pan": "<PAN_Number>",
"dob": "<Date_Of_Birth_in_DD-MM-YYYY_Format>",
"fip": "<FIP_Details>"
}
}
},
"AAConsentStatus": {
"statusCode": "200",
"response": {
"header": {
"rid": "<Unique_Request_ID>",
"ts": "<Timestamp_in_ISO_Format>",
"channelId": "<Channel_ID>"
},
"body": {
"consentStatus": "<Consent_Status>",
"consentId": "<Consent_ID>"
}
}
},
"AAFIRequest": {
"statusCode": "200",
"response": {
"header": {
"rid": "<Unique_Request_ID>",
"ts": "<Timestamp_in_ISO_Format>",
"channelId": "<Channel_ID>"
},
"body": {
"ver": "<Version>",
"timestamp": "<Timestamp_in_ISO_Format>",
"txnid": "<Transaction_ID>",
"consentId": "<Consent_ID>",
"sessionId": "<Session_ID>",
"consentHandleId": "<Consent_Handle_ID>"
}
}
}
}
}

Success Response Details

The following table outlines the details of the success response from the API:

ParameterTypeDescription
statusCodeintegerThe HTTP status code of the response
successstringThe success status of the request
requestIdstringA unique identifier for the request
consentStatusstringThe status of the consent request
txnIdstringA unique transaction identifier
sessionIdstringThe session identifier for the transaction
srcRefstringA reference identifier for the transaction source
userIdstringThe unique user identifier associated with the request
redirectUrlstringThe URL to redirect the user for further processing
fiuIdstringThe FIU identifier
statusstringThe status of the transaction
errorCodestringThe error code if the request fails
emailstringThe email address associated with the user
panstringThe Permanent Account Number (PAN) of the user
dobstringThe date of birth of the user
fipstringThe Financial Information Provider (FIP) identifier
consentIdstringA unique identifier for the consent request
verstringThe version of the API response
timestampstringThe timestamp of the API response
txnidstringA unique identifier for the transaction
consentHandleIdstringA unique identifier for the consent handle
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: